// import com.alibaba.druid.DbType;
// import com.alibaba.druid.sql.ast.SQLExpr_ptr;
// import com.alibaba.druid.sql.ast.SQLStatementImpl;
// import com.alibaba.druid.sql.ast.expr.SQLIntegerExpr_ptr;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;

// import java.util.ArrayList;
// import java.util.List;
#pragma once
#include "../SQLStatementImpl.h"

class SQLImportTableStatement : virtual public SQLStatementImpl
{
public:
  BOOL_ptr extenal;
  SQLExprTableSource_ptr table;
  SQLAssignItem_list_ptr partition;
  SQLExpr_ptr from;
  SQLExpr_ptr location;
  // for ads
  SQLIntegerExpr_ptr version;
  BOOL_ptr usingBuild;

  SQLImportTableStatement();
  SHAREDOBJECT(SQLImportTableStatement);

  SQLExprTableSource_ptr getTable();

  void setTable(SQLExprTableSource_ptr x);

  SQLAssignItem_list_ptr getPartition();

  SQLExpr_ptr getFrom();

  void setFrom(SQLExpr_ptr x);

  SQLExpr_ptr getLocation();

  void setLocation(SQLExpr_ptr x);

  void accept0(SQLASTVisitor_ptr v);

  SQLIntegerExpr_ptr getVersion();

  void setVersion(SQLIntegerExpr_ptr version);

  BOOL_ptr isUsingBuild();

  void setUsingBuild(BOOL_ptr usingBuild);

  BOOL_ptr isExtenal();

  void setExtenal(BOOL_ptr extenal);
};
